A large fraction of a part's cost is decided early in product development by the design choices that engineers make. However, little information on cost is available until the design is completed and the company begins manufacturing the part. The lack of early manufacturing cost information in the design process prevents engineers from making timely decisions that minimize the cost of their parts. This in turn translates into large additional manufacturing costs during the life cycle of a product. These additional costs can be avoided if engineers have a tool to quickly and accurately estimate production and tooling costs early in the design process. Also, with such a tool engineers are able to optimize the cost and performance of their designs simultaneously.
The need for good cost estimation tools is exemplified by a recent survey of 150 US companies on the adequacy of their product development processes. Cost estimation was the number one area lacking in capability and in need of investment, and it came out almost twice as important as the next area of concern (Kraus, B. and O'Marah, K. “Midmarket Survey Shows Manufacturers Have Been Slow to Embrace PLM” AMR Research Reports, Oct. 3, 2003). PLM or Product Lifecycle Management is a rapidly growing set of CAD based enabling tools aimed at marshalling the skills, expertise, knowledge, and experience of the enterprise and applying them to every major stage in the product lifecycle to achieve competitive excellence. Designers use 3D CAD systems or solid modelers to fully define the geometry and form of a discrete part that is to be designed. Designers also use 3D CAD systems to specify an assembly of parts and in the process provide details on the geometry and form of any devices or materials used to join parts into an assembly, such as weld depositions and reinforcements. Other parameters such as raw material type and specification are also specified and contained in the model description of the part.
Cost estimating methodologies range from simple parametric systems based on a single attribute, such as weight, to complex systems requiring multiple components or process parameters, to the complete and detailed routing of the part through a production system. Most companies today use a variety of in-house techniques to estimate costs, usually database or spreadsheet systems that allocate costs according to activity based costing (ABC) principles. A number of commercial costing systems are available utilizing these same ABC principles (Starn, ABC Tools, Net Prophet, and Activity Analyzer). ABC based cost estimates are determined by routing parts through the production system and attempting to determine the actual cost of manufacture. Using this approach to estimate costs is time consuming and without actually producing the parts inaccurate. This is because processing times and labor handling times must be estimated based on the experience of a manufacturing engineer or cost estimating engineer.
Other commercial cost estimating systems, such as Boothroyd and Dewhurst and Cognition use process-driven models to estimate processing time. These process driven models use industry averages to determine times and costs, although usually they have some capability to change some parameters to accommodate difference in companies' manufacturing systems and methods. Another commercial cost estimating system, Galorath's SEER, uses parametric component based cost estimating approaches based on historical cost information of similar parts. This method is only applicable to a specific kind of part (e.g. missile tubes or an air foil) but can not be readily used by designers working on new or significantly different components. Existing cost systems are not fully CAD integrated and do not provide functionality for feature by feature cost feedback to the user in real time as he designs a part or assembly of parts.
Genetic Algorithms (GAs) are search algorithms based on the Darwinian theory of evolution, and incorporate mechanics of natural selection and evolution found in biological systems. Genetic algorithms use a population, where each member of the population is represented by a genetic string. This string in turn defines the fitness or performance of a particular member of the population. A GA starts with a parent population and generates successive populations by performing genetic operations. High fitness strings in the population are first selected for reproduction. Genetic algorithms and various genetic operators are described in Goldberg, D. E., 1989, “Genetic Algorithms in Search Optimization and Machine Learning,” Addison Wesley Longman, which is hereby incorporated by reference, in its entirety. GAs are members of the class of robust schemes capable of searching combinatorial, unimodal, and multimodal problem types with a very high efficiency. The mechanics of a GA make it a highly adaptive search technique, which also relaxes required prior knowledge of the solution space.
Therefore, a method benefiting from the advantages of GA and thus not requiring modeling by a set of discrete nonlinear equations, as has hitherto been the case, would be highly desirable. Particular algorithmic features which allow GA to be applied effectively in the context of feature based costing are thus discussed below in the description of the invention.